﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

using ZhimeiSoft.CharmManager.DOL;

namespace ZhimeiSoft.CharmManager.Server.Proxy.Interface
{
    public interface IBusinessService
    {
        /// <summary>
        /// 新增员工信息
        /// </summary>
        /// <param name="employee">员工信息实体类</param>
        /// <returns>员工ID</returns>
        int InsertEmployee(EmployeeEntity employee);

        /// <summary>
        /// 更新员工信息
        /// </summary>
        /// <param name="employee">员工信息实体类</param>
        void UpdateEmployee(EmployeeEntity employee);

        /// <summary>
        /// 删除员工信息
        /// </summary>
        /// <param name="employeeid">员工ID</param>
        void DeleteEmployee(int employeeid);

        #region  员工假期
        /// <summary>
        /// 插入员工休假记录
        /// </summary>
        /// <param name="employeeVacation"></param>
        /// <returns></returns>
        bool InsertEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation);
        /// <summary>
        /// 删除员工休假记录
        /// </summary>
        /// <param name="employeeVacation"></param>
        /// <returns></returns>
        bool DelEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation);
        /// <summary>
        /// 更新员工休假记录
        /// </summary>
        /// <param name="employeeVacation"></param>
        /// <returns></returns>
        bool UpdateEmployeeVacation(DBEntityEmoloyeeVacation employeeVacation);
        /// <summary>
        /// 根据开始时间查询员工休假记录
        /// </summary>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="dsEmployeeVacation">返回数据</param>
        /// <param name="error">错误信息</param>
        /// <returns>返回是否成功</returns>
        bool QueryEmployeeVacationDateTime(string startDate, string endDate, out DataSet dsEmployeeVacation, out string error);
        /// <summary>
        /// 根据起始时间和员工ID
        /// </summary>
        /// <param name="employeeID">员工ID</param>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <param name="dsEmployeeVacation">返回数据</param>
        /// <param name="error">错误信息</param>
        /// <returns></returns>
        bool QueryEmployeeVacationEmployeeID(int employeeID, string startDate, string endDate, out DataSet dsEmployeeVacation, out string error);

        #endregion
    }
}
